package com.lin.eat.util;

import com.lin.eat.entry.ImagePath;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

public class FileUtil {

    public static String uploadHead(MultipartFile file, String token) throws IOException {
        String path = ImagePath.PROJECT_PATH + ImagePath.HEAD_PATH;
        File filePath = new File(path);
        if (!filePath.exists() && !filePath.isDirectory()) {
            System.out.println("目录不存在，创建目录:" + filePath);
            filePath.mkdirs(); // mkdir()不会创建目录,找不到相应路径时返回false;而mkdirs()当目录不存在时则会创建相应目录
        }
        //获取原始文件名称(包含格式)
        String originalFileName = file.getOriginalFilename();
        //获取文件类型，以最后一个`.`为标识
        String type = originalFileName.substring(originalFileName.lastIndexOf(".") + 1);
        String Cid = JwtUtil.parseJwt(token).getId();
        String fileName = Cid + "."+ type; // 新文件名，这里可以根据需要改名
        //在指定路径下创建一个文件
        File targetFile = new File(path, fileName);
        // 使用springMvc的transferTo方法上传文件
        file.transferTo(targetFile);
        return ImagePath.HEAD_URL+fileName;
    }

    public static String uploadGood(MultipartFile file) throws IOException {
        String path = ImagePath.PROJECT_PATH + ImagePath.GOOD_PATH;
        File filePath = new File(path);
        if (!filePath.exists() && !filePath.isDirectory()) {
            System.out.println("目录不存在，创建目录:" + filePath);
            filePath.mkdirs(); // mkdir()不会创建目录,找不到相应路径时返回false;而mkdirs()当目录不存在时则会创建相应目录
        }
        //获取原始文件名称(包含格式)
        String originalFileName = file.getOriginalFilename();
        //获取文件类型，以最后一个`.`为标识
        String type = originalFileName.substring(originalFileName.lastIndexOf(".") + 1);
        String Cid = UuidUtil.createUUID();
        String fileName = Cid + "."+ type; // 新文件名，这里可以根据需要改名
        //在指定路径下创建一个文件
        File targetFile = new File(path, fileName);
        // 使用springMvc的transferTo方法上传文件
        file.transferTo(targetFile);
        return ImagePath.GOOD_URL+fileName;
    }

}
